Firmware installed into electronic devices may be updated in order to, for example, add a control function or correct a bug. With a controller for controlling a storage apparatus, for example, a difference in the version number of firmware may cause a difference in corresponding RAID (Redundant Arrays of Inexpensive Disks) level, the specifications of a storage apparatus which can be connected thereto, or the like.
In addition, there are systems which can update firmware installed into electronic devices under the control of an external device. For example, the following systems are known. That is to say, the version numbers of firmware applied to a plurality of terminal units are managed in block by a host apparatus. If the latest-version firmware is not applied to a terminal unit, then correction data for updating the firmware is sent from the host apparatus to the terminal unit.
The following technique is proposed as an example of a technique for managing functions supported by a system. A table in which whether or not each function is supported is associated with a bit is referred to and whether or not a function corresponding to a command inputted by a user is supported is checked.
Japanese Laid-open Patent Publication No. 01-259422
Japanese Laid-open Patent Publication No. 03-8026
By the way, when firmware to be executed is switched to another version firmware, some processing functions may not be supported after the switching. For example, there are cases where firmware to be executed by an electronic device is switched from new-version firmware to old-version firmware according to the specifications or the like of an external device which controls the electronic device. In such cases, a processing function supported by the new-version firmware may not be supported by the old-version firmware.
If there is a processing function which is not supported after switching firmware to be executed to another version firmware in this way, then an abnormality may occur at the time of executing another version firmware. For example, after firmware to be executed is switched to another version firmware, a set value unique to the firmware before the switching may remain in a setting table which is referred to by the firmware after the switching. If the firmware after the switching is executed in this state, then the set value which remains in the setting table may be recognized as abnormal information and a process may not be performed normally. As a result, an abnormality may occur in the operation of an electronic device.
In order to solve this problem, a manager performs, for example, the following work before switching firmware to be executed. First the manager determines whether there is consistency between a set value in a setting table before switching and a set value in a setting table after switching. If the manager determines that there is a problem about the consistency, then the manager specifies an item in the setting table which will have a bad influence at the time of executing firmware after the switching, and performs operation such as rewriting or deleting a value set in the item specified.
However, it takes a long time for the manager to perform the above work. In addition, this work requires an advanced knowledge. Furthermore, such a problem may arise not only from firmware but also from various programs.